/*************************************************************************
> File Name: double_circulate.c
> Author: icebear
> Mail: 3322366195@qq.com
> Created Time: 2023-07-30 15:14:52
> Description: 001两数之和
给定一个整数数组 nums 和一个整数目标值 target，
请你在该数组中找出 和为目标值 target  的那 两个 整数，
并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是，数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。
************************************************************************/
#include <stdlib.h>
#include <stdio.h>

int *twoSum(int *nums, int numsSize, int target, int *returnSize);

int main(int argc, char const *argv[])
{
    int arr[4] = {2, 7, 11, 15};
    int count = 0;
    int *result = twoSum(arr, 4, 9, &count);
    if (count != 0)
    {
        printf("%d %d\n", result[0], result[1]);
    }
    return 0;
}

int *twoSum(int *nums, int numsSize, int target, int *returnSize)
{
    for (int i = 0; i < numsSize; ++i)
    {
        for (int j = i + 1; j < numsSize; ++j)
        {
            if (nums[j] + nums[i] == target)
            {
                int *p = malloc(sizeof(int) * 2);
                *returnSize = 2;
                p[0] = i, p[1] = j;
                return p;
            }
        }
    }
    *returnSize = 0;
    return NULL;
}